﻿/**********************************************************************
 * @file   OperGlobalFrequencyDomain.h
 * @brief  全局频谱范围操作器
 * @author liuzhonghua (liuzhonghuaszch@163.com)
 * @date   2025-02-08
 *********************************************************************/
#ifndef _OperGlobalFrequencyDomain_H
#define _OperGlobalFrequencyDomain_H

#include "FITK_Kernel/FITKCore/FITKActionOperator.h"
#include "FITK_Kernel/FITKCore/FITKOperatorRepo.h"

namespace ModelOper
{
    /**
     * @brief 全局频谱范围操作器
     * @author liuzhonghua (liuzhonghuaszch@163.com)
     * @date 2024-10-31
     */
    class OperGlobalFrequencyDomain :public Core::FITKActionOperator
    {
        Q_OBJECT;
    public:
        /**
         * @brief Construct a new Operators Global Frequency Domain object
         * @author liuzhonghua (liuzhonghuaszch@163.com)
         * @date 2024-10-31
         */
         explicit OperGlobalFrequencyDomain() = default;
         /**
          * @brief Destroy the Operators Global Frequency Domain object
          * @author liuzhonghua (liuzhonghuaszch@163.com)
          * @date 2024-10-31
          */
        virtual ~OperGlobalFrequencyDomain() = default;
        /**
         * @brief 执行界面操作
         * @return true     执行成功
         * @return false     执行失败
         * @author liuzhonghua (liuzhonghuaszch@163.com)
         * @date 2024-10-31
         */
        virtual bool execGUI() override;
        /**
         * @brief 执行读入操作
         * @return true     执行成功
         * @return false     执行失败
         * @author liuzhonghua (liuzhonghuaszch@163.com)
         * @date 2024-10-31
         */
        virtual bool execProfession() override;

    };

    // 按钮注册相关操作
    Register2FITKOperatorRepo(actionFrequencyRangeOptions, OperGlobalFrequencyDomain);
}

#endif